﻿' ----------------------------------------------------------------------------------
' Microsoft Developer & Platform Evangelism
' 
' Copyright (c) Microsoft Corporation. All rights reserved.
' 
' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
' EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 
' OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ----------------------------------------------------------------------------------
' The example companies, organizations, products, domain names,
' e-mail addresses, logos, people, places, and events depicted
' herein are fictitious.  No association with any real company,
' organization, product, domain name, email address, logo, person,
' places, or events is intended or should be inferred.
' ----------------------------------------------------------------------------------

Imports System.Data.Services.Client

Namespace Credentials

    Public Class StorageCredentialsAuthToken
        Implements IStorageCredentials

        Private authToken As String

        Public Sub New(ByVal authenticationToken As String)
            Me.authToken = authenticationToken
        End Sub

        Public Sub SignRequestLite(ByVal webRequest As WebRequest) Implements IStorageCredentials.SignRequestLite
            webRequest.Headers("AuthToken") = Me.authToken
        End Sub

        Public Sub AddAuthenticationHeadersLite(ByVal requestData As RequestData, ByVal requestHeaders As WebHeaderCollection) Implements IStorageCredentials.AddAuthenticationHeadersLite
            requestHeaders("AuthToken") = Me.authToken
        End Sub

        Public Sub SignRequest(ByVal webRequest As WebRequest, ByVal contentLength As Long) Implements IStorageCredentials.SignRequest
            webRequest.Headers("AuthToken") = Me.authToken
        End Sub
    End Class

End Namespace